package com.wanlian.router.net.netty2.msg;

import com.wanlian.router.utils.JsonStringUtil;

import java.io.UnsupportedEncodingException;


public class PeerMsg {
    private MsgHead head;
    private BaseMsg baseMsg;
    private FileBaseMsg fileBaseMsg;

    public PeerMsg(){

    }
    public PeerMsg(BaseMsg baseMsg) {
        this.baseMsg = baseMsg;
        String data = JsonStringUtil.writeValueAsString(baseMsg);
        try {
            this.head = new MsgHead(data.getBytes("utf-8").length, 1);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }

    public PeerMsg(MsgHead head, BaseMsg baseMsg) {
        this.head = head;
        this.setBaseMsg(baseMsg);
    }

    public PeerMsg deepCopyMsg() {
        PeerMsg msg = new PeerMsg(this.getBaseMsg());
        return msg;
    }

    public MsgHead getHead() {
        return head;
    }

    public void setHead(MsgHead head) {
        this.head = head;
    }

    public BaseMsg getBaseMsg() {
        return baseMsg;
    }

    public void setBaseMsg(BaseMsg baseMsg) {
        this.baseMsg = baseMsg;
    }


    public FileBaseMsg getFileBaseMsg() {
        return fileBaseMsg;
    }

    public void setFileBaseMsg(FileBaseMsg fileBaseMsg) {
        this.fileBaseMsg = fileBaseMsg;
    }
}
